// 封装插件对象
export default {
  install (Vue) {
    // 注册全局自定义指令
    Vue.directive('fofo', {
      // 指令所在使用标签被插入到真实DOM时会回调执行，传回来具体原生DOM标签
      inserted (el) {
        // 获取标签对象   因为el获取到的是整个van-search  组件  组件中原生结构是由多个div嵌套完成，需要单独获取到input标签，绑定focus事件
        if (el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') {
          // 如果直接是input标签/textarea标签
          el.focus()
        } else {
          // 指令在van-search组件身上, 获取的是组件根标签div, 而input在标签内
          const inp = el.querySelector('input')
          inp.focus()
        }
      },
      updated (el) {
        // 获取标签对象   因为el获取到的是整个van-search  组件  组件中原生结构是由多个div嵌套完成，需要单独获取到input标签，绑定focus事件
        if (el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') {
          // 如果直接是input标签/textarea标签
          el.focus()
        } else {
          // 指令在van-search组件身上, 获取的是组件根标签div, 而input在标签内
          const inp = el.querySelector('input')
          inp.focus()
        }
      }
    })
  }
}
